package com.liuxu.myxposed.Utis;

import java.util.ArrayList;
import java.util.Random;

public class RandomHelper {
    private  Random random = new Random();
    public String GetBRAND(){
        String[] BRAND_list={"HUAWEI", "OPPO", "VIVO", "XIMIAO", "MEIZU", "samsung", "ZTE","OnePlus","Lenovo","GREE"};
        int i = random.nextInt(10);
        return BRAND_list[i];
    }

    public String GetModel(){
        String baseString="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        int i = random.nextInt(26);
        int j = random.nextInt(80);
        return baseString.substring(i,i+1)+j;
    }

    public String GetType(){
        String[] Type_list={"Unknown", "GPRS", "CDMA", "HSDPA", "HSUPA", "LTE", "WIFI","EDGE","UMTS","HSPA"};
        int i = random.nextInt(10);
        return Type_list[i];
    }
    public String GetTelNumber() {
        String[] telFirst = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153".split(",");
        int i = random.nextInt(10);
        String number="+86"+telFirst[i]+randomString(8, false, false, true);
        return number;
    }
    public String GetDeviceId() {
        String imeiCode = "86" + randomString(12, false, false, true);
        return imeiCode + IMEIGen.genCode(imeiCode);
    }
    public String GetSimId() {
        return randomString(20, false, false, true);
    }
    public String GetWifiSSID() {
        String[] strings = new String[]{"TP-", "FAST_", "Tenda_", "TP-LINK_", "MERCURY_"};
        return strings[randomInt(0, strings.length - 1)] + randomString(randomInt(5, 8), false, true, true);
    }
    public String GetBuildSerial() {
        return randomString(randomInt(10, 20),true, false, true);
    }
    public String randomString(int length, boolean lowEnglish, boolean upperEnglish, boolean number) {
        String baseString = "";
        if (lowEnglish) baseString += "abcdefghijklmnopqrstuvwxyz";
        if (upperEnglish) baseString += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        if (number) baseString += "0123456789";
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < length; i++) {
            sb.append(baseString.charAt(random.nextInt(baseString.length())));
        }
        return sb.toString();
    }
    public int randomInt(int min, int max) {
        if (min == max) return min;
        return random.nextInt(max) + min;
    }
    public String GetDeviceVersion() {
        int i = random.nextInt(40);
        ArrayList<String> stringArrayList = new ArrayList<>();
        stringArrayList.add("Android 5.1");
        stringArrayList.add("Android 4.4.4");
        stringArrayList.add("Android 6.0.1");
        stringArrayList.add("Android 5.1.1");
        stringArrayList.add("Android 6.0");
        stringArrayList.add("Android 4.4.2");
        stringArrayList.add("Android 5.0.2");
        stringArrayList.add("Android 4.3");
        stringArrayList.add("Android 5.0");
        stringArrayList.add("Android 4.2.2");
        stringArrayList.add("Android 4.4");
        stringArrayList.add("Android 4.1.2");
        stringArrayList.add("Android 5.0.1");
        stringArrayList.add("Android 4.2.1");
        stringArrayList.add("Android 4.1.1");
        stringArrayList.add("Android 4.4.3");
        stringArrayList.add("Android 4.0.4");
        stringArrayList.add("Android 4.0.3");
        stringArrayList.add("Android 4.2");
        stringArrayList.add("Android 4.1");
        stringArrayList.add("Android 2.3.6");
        stringArrayList.add("Android 5.1.0");
        stringArrayList.add("Android 4.4.5");
        stringArrayList.add("Android 4.0");
        stringArrayList.add("Android 4.3.1");
        stringArrayList.add("Android 4.4.0");
        stringArrayList.add("Android 5.0.5");
        stringArrayList.add("Android 5.12");
        stringArrayList.add("Android 5.3 ");
        stringArrayList.add("Android 6.0.2");
        stringArrayList.add("Android 6.1");
        stringArrayList.add("Android 2.2.2");
        stringArrayList.add("Android 4.3.0");
        stringArrayList.add("Android 4.2.3");
        stringArrayList.add("Android 4.2.9");
        stringArrayList.add("Android 4.4.1");
        stringArrayList.add("Android 2.2.3");
        stringArrayList.add("Android 2.3.4");
        stringArrayList.add("Android 3.1.2");
        stringArrayList.add("Android 5.2");
        stringArrayList.add("Android 4.5");
        return stringArrayList.get(i);
    }
    public String GetWifiMac() {
        return RandomMac.getMacAddrWithFormat(":");
    }
}
